///*
//package com.frank.threadPoolSave.service.impl;
//
//import com.frank.jpaBatchSave.repository.UserRepository;
//import com.frank.threadPoolSave.service.MyAsyncService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Async;
//import org.springframework.stereotype.Service;
//
//import java.sql.*;
//import java.util.concurrent.MyCountDownLatch;
//
//@Service
//public class AsyncServiceImpl1 implements MyAsyncService {
//
//    @Autowired
//    private UserRepository repository;
//
//    @Override
//    @Async("asyncServiceExecutor")
//    public void dataBaseToQueue(MyCountDownLatch countDownLatch, int beginNum) {
//        Connection con = null;        //连接
//        PreparedStatement pstmt = null;
//        ResultSet rs = null;    //获取的结果集
//        try {
//            long start = System.currentTimeMillis();
//            con = DriverManager.getConnection("jdbc:mysql://。。。。:3306/database", "root", "root"); //获取连接
//            System.out.println("线程" + Thread.currentThread().getId() + "开始执行");
//
//            // 查询列表,需要做分页优化，尽量不要使用limit
//            pstmt = con.prepareStatement("select name,age from table limit ?,?");
//
//            pstmt.setInt(1, beginNum * 10000);
//            pstmt.setInt(2, 10000);
//            rs = pstmt.executeQuery();
//            // 结果集 中列的名称和类型的信息
//            ResultSetMetaData rsm = rs.getMetaData();
//            int colNumber = rsm.getColumnCount();
//            // 遍历每条记录
//            while (rs.next()) {
//                String name = rs.getString("name");
//                // 将name 写入到一个文件中
//                // 具体自己实现
//            }
//            System.out.println("线程" + Thread.currentThread().getId() + "执行结束");
//            long end = System.currentTimeMillis();
//            System.out.println(end - start);
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//
//            //关闭资源,倒关
//            try {
//                if (rs != null) rs.close();
//                if (pstmt != null) pstmt.close();
//                if (con != null) con.close();  //必须要关
//            } catch (Exception e) {
//                System.err.println(e.getMessage());
//            }
//
//            countDownLatch.countDown();
//        }
//    }
//}
//*/
